package com.llxy.worker.mapper;

import com.llxy.worker.domain.SupportJob;
import com.llxy.worker.dto.HomemakingRespDTO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

@Mapper
public interface SupportJobMapper {
    /**
     * delete by primary key
     * @param id primaryKey
     * @return deleteCount
     */
    int deleteByPrimaryKey(Integer id);

    /**
     * insert record to table
     * @param record the record
     * @return insert count
     */
    int insert(SupportJob record);

    /**
     * insert record to table selective
     * @param record the record
     * @return insert count
     */
    int insertSelective(SupportJob record);

    /**
     * select by primary key
     * @param id primary key
     * @return object by primary key
     */
    SupportJob selectByPrimaryKey(Integer id);

    /**
     * update record selective
     * @param record the updated record
     * @return update count
     */
    int updateByPrimaryKeySelective(SupportJob record);

    /**
     * update record
     * @param record the updated record
     * @return update count
     */
    int updateByPrimaryKey(SupportJob record);

    Integer selectBySupportIdCount(Long userId);

    int deliver(@Param("jobId") Integer jobId, @Param("supportId") Integer supportId);

    List<SupportJob> deliverHistory(Long userId);

    int selectCount(Long userId);

    int selectJobCount();

    List<HomemakingRespDTO> selectList(Long userId);

    List<HomemakingRespDTO> selectListByHomemakingUserId(@Param("homemakingUserId") Long homemakingUserId);

    int examine(@Param("status") Integer status, @Param("id") Integer id);
}